Method and device for managing access to network

ABSTRACT

When downloading a Java™ application AP from a server 40, a scheme and a transmission port number used by server 40 when downloading Java™ application AP are stored in addition to a host name of server 40. Then, when the Java™ application AP accesses a resource on the Internet, the host name of a resource to be accessed, and a scheme and a destination port number are compared with the stored host name, scheme, and transmission port number. The network access is permitted only when the compared items agree with each other.

TECHNICAL FIELD

[0001] The present invention relates to a method for controlling access to a network by executing software downloaded from a resource on a network, and a device relating to the method.

BACKGROUND ART

[0002] A client terminal connected to a network can download various content or applications by accessing a server on the network.

[0003] For example, software called “Java™ applet” described in Java™ programming language is designed to be downloaded to the client terminal from a source computer such as a server, and to be executed by a browser provided in the client terminal.

[0004] The Java™ applet is a small application with its size being made small so as to reduce the burden on the memory and on the CPU of the client terminal. When executing a process, the applet accesses a server on the network and executes the process in cooperation with the server.

[0005] However, an open network such as the Internet is generally not secure, and Java™ applets delivered through such a network are not always be trusted.

[0006] Thus, what is required is to preclude network access by an illegal Java™ applet, and, for this purpose, a system for controlling access has been proposed.

[0007] In the proposed system, a client terminal is able to access only a server of origin from which a Java™ applet program is downloaded. Specifically, a client terminal stores a host name of the origin server from which a Java™ applet program is downloaded together with identification information of the Java™ applet, and when the Java™ applet accesses the network, access to a server is prohibited if the accessed server does not have a host name that is the same as the one stored and which is correlated with the identification information. This access control method is commonly referred to as a “sand box.”

[0008] In addition to the Java™ applet mentioned above, there is another software which is described in Java™ programming language and referred to as a “Java™ application.” A Java™ application can be downloaded to a client terminal from a server or can be provided in a client terminal in advance, but when it is executed, the application operates in cooperation with software other than a browser, the software having been installed in the client terminal. However, access to the network made by Java™ applications is not an object of the above-mentioned sand box, and thus Java™ applications are able to interact with any server on the network.

[0009] A system for network resources adapted to Java™ is likely to be constructed more rapidly in the future, and given such a prospect, some kind of control over network access from Java™ applications needs to be provided.

[0010] However, an improper network access is still possible even when the above-mentioned sand box is used for limiting an access from a Java™ application to a server of origin from which the Java application has been downloaded. Specifically, since there are various functions performed by a server, an access might be made to a function of the server that is not intended by a user of a client terminal.

[0011] Thus, it is an object of the present invention to enhance security relating to network access by software such as Java™ applications.

DISCLOSURE OF INVENTION

[0012] To solve the stated problem, the present invention provides an access control method for controlling access to a network by software which comprises a step of storing, when a client downloads software from a resource on a network, a scheme and a transmission port number used by said resource in addition to a host name of said resource; a step of comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and a step of permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison. Preferably, said software is a Java™ application that is described in a Java™ programming language and is executed in cooperation with software preinstalled in said client.

[0013] Further, the present invention provides a computer program product for causing a computer to implement a process performed in each step of the access-control method mentioned above, and a computer-readable recording medium which has recorded a program for causing a computer to implement the access control method.

[0014] The present invention further provides an access control device for controlling access to a network from software, comprising: memory storage means for storing, when a client downloads software from a resource on a network, a scheme and a transmission port number used by said resource in addition to a host name of said resource; comparing means for comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and controlling means for permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison.

[0015] Furthermore, the present invention provides a mobile communications terminal served by a mobile communications network, said mobile communications terminal performing data communications through the network, comprising: downloading means for downloading software from a given resource through said mobile communications network; memory storage means for storing a scheme and a transmission port number used when downloading said software in addition to a host name of said resource; comparing means for comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and controlling means for permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison.

[0016] According to the present invention, a scheme and a transmission port number used by a resource when downloading software from the resource on the network in addition to the host name of the resource are stored and compared with the host name of a resource to be accessed, and a scheme and a destination port number when accessing a resource on the network. Access is permitted only when the compared items agree with each other. As a result, a resource that can be accessed is limited, and security is enhanced.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017]FIG. 1 is a block diagram showing an overall configuration of a system according to an embodiment of the present invention.

[0018]FIG. 2 is a block diagram showing a hardware configuration of a mobile phone according to the embodiment.

[0019]FIG. 3 is a schematic diagram showing a software configuration of a mobile phone according to the embodiment.

[0020]FIG. 4 is a diagram showing an example of contents registered in an access control table provided in the mobile phone according to the embodiment.

[0021]FIG. 5 is a flow chart showing a procedure by which the mobile phone downloads a Java™ application according to the embodiment.

[0022]FIG. 6 is a flow chart showing a procedure by which a Java™ virtual machine of the mobile phone executes the downloaded Java™ application according to the embodiment.

BEST MODE FOR CARRYING OUT THE INVENTION

[0023] An embodiment of the present invention will now be described below with reference to the drawings. In this embodiment, a mobile phone for performing data communications wirelessly will be used for explanation as an example of a client terminal. However, it is to be noted that the present invention is not limited to the embodiment described, and is susceptible to a variety of changes within the scope of its technical idea.

[0024] A: Configuration

[0025] First, the configuration of the embodiment will be explained.

[0026] (1) Configuration of Overall System

[0027]FIG. 1 is a block diagram showing a configuration of an overall system according to the present invention. As shown in the figure, the system comprises a mobile phone 10, a mobile packet communications network 20, the Internet 30 and a server 40.

[0028] Mobile phone 10 is carried by a user, and the phone 10 receives a communication service of a mobile phone network (not shown). In addition, the phone 10 receives a data communications service of the network 20 by performing wireless communications with base stations 21 of mobile packet communications network 20.

[0029] Mobile phone 10 is loaded with a browser for browsing various pages downloaded from the Internet 30 and a Java™ virtual machine which supports Java™, thereby enabling the execution of various types of applications downloaded from server 40.

[0030] Mobile packet communications network 20 comprises base stations 21 and not shown switching centers, and a communication line for interconnecting them. A large number of base stations 21 are sited at predetermined intervals within a communication service area and perform wireless communication with mobile phone(s) 10 located in each radio cell.

[0031] Mobile packet communications network 20 is connected to the Internet 30 through a gateway (not shown), and bidirectional data relaying can be performed between these networks.

[0032] Server 40 stores therein various types of data and software and provides them to mobile phone 10 through the Internet 30 and mobile packet communications network 20.

[0033] For example, server 40 stores data in a HTML (Hypertext Markup Language) format that can be viewed using a browser installed in mobile station 10 as well as a Java™ application described in the Java™ programming language. The Java™ application may be, for example, software for controlling online trading such as stock trading, or software for managing a user's address book or PIM (Personal Information Manager). The Java™ application is intended to be executed in mobile phone 10 in cooperation with server 40 after being downloaded from server 40 to mobile phone 10.

[0034] (2) Hardware Configuration of Mobile Phone 10

[0035] Next, the hardware configuration of mobile phone 10 will be explained with reference to the block diagram shown in FIG. 2.

[0036] As shown in the figure, mobile phone 10 comprises a transceiver 11, a controller 12, a user interface 13 or a bus 14 for interconnecting them.

[0037] Transceiver 11 comprises an antenna or a communication controlling circuit (not shown), and performs wireless communications with base stations 21 of mobile packet communications network 21.

[0038] User interface 13 comprises a liquid crystal display for displaying a variety of information, a keypad by which a user performs various input operations, a microphone or a speaker by which a user performs voice communications.

[0039] Controller 12 controls each part of mobile phone 10 and is comprised of CPU 121, ROM 122, and SRAM 123.

[0040] Various control programs and other programs are stored in ROM 122, and CPU 121 reads out a control program and performs various control processes. The control programs in ROM 122 include a browser and various types of software programs described below in addition to an operating system provided in mobile phone 10.

[0041] SRAM 123 caches data of pages provided from server 40 and stores Java™ applications downloaded from server 40.

[0042] (3) Software Configuration of Mobile Phone 10

[0043] Next, the configuration of software stored in ROM122 of mobile phone 10 will be explained.

[0044]FIG. 3 is a schematic diagram showing a software configuration of mobile phone 10. As shown in the figure, the software of mobile phone 10 comprises an operating system OS, a Java™ application manager JAM, a Java™ virtual machine KVM, a Java™ application AP in the order from the bottom to top layer.

[0045] Operating system OS is software implemented in well-known mobile phones and supports basic processes of mobile phone 10.

[0046] Java™ application manager JAM mainly performs controlling operations of Java™ virtual machine KVM and security check operations. For example, Java™ application manager JAM determines whether to permit access when Java™ application AP accesses a specific resource. For the purpose of the determining operation, Java™ application manager JAM is provided with an access control table described below.

[0047] Java™ virtual machine KVM executes a Java™ application under the control of Java™ application manager JAM. Java™ virtual machine KVM and Java™ application manager JAM are preinstalled in operating system OS, and stored in ROM 122.

[0048] Java™ application AP is software described in the Java™ programming language. The application AP is downloaded to mobile phone 10 from server 40 and then written in SRAM 123 for storage.

[0049] (4) Configuration of Access Control Table

[0050]FIG. 4 is a format diagram showing an example of memory contents of an access control table provided in Java™ application manager JAM. It is to be noted that the access control table is provided in SRAM 123.

[0051] As shown in the figure, Uniform Resource Locators (URLs) of servers 40 are stored in the access control table, each being correlated with an application identification number of each Java™ application AP, where each server 40 is a server of origin from which each Java™ application AP has been downloaded. The URL includes not only a host name but also a scheme and a port number of server 40. It is to be noted here that the scheme refers to a type of protocol used by mobile phone 10 when communicating with server 40; examples include Hypertext Transfer Protocol (http) and File Transfer Protocol (ftp). It is also to be noted that the port number refers to a transmission port number used by server 40 when transmitting Java™ application AP to mobile phone 10. The port number includes a Well-Known port number prescribed by RFC1700 for each application and a port number that is dynamically determined each time.

[0052] In FIG. 4, for example, URL “http://www.abc.co.jp:80” is stored in correspondence with an application information number “ap0001”. This means that a Java™ application AP designated by the application identification number “ap0001” has been downloaded from a server 40 with its host name “www.abc.co.jp” through the port number “80” and the scheme “http”.

[0053] As described above, when Java™ application AP accesses a specific resource, Java™ application manager JAM determines whether to permit the access by referring to the access control table.

[0054] Specifically, Java™ application manager JAM, when Java™ application AP accesses a resource on the Internet 30, permits access only to a URL stored in the access control table which is correlated with the application identification information of Java™ application AP.

[0055] B: Operation

[0056] Next, an operation of the embodiment with the above configuration will be described.

[0057] The following description will be given in two parts: (1) a download process of a Java™ application; and (2) an executing process of a Java™ application.

[0058] (1) Downloading Process of Java™ Application

[0059]FIG. 5 is a flow cart showing a download process of Java™ application AP by mobile phone 10.

[0060] In the figure, mobile phone 10 transmits a download request to server 40 in order to download a Java™ application desired (step S1). Specifically, mobile phone 10 first displays a HTML-format menu page prepared by server 40 on a liquid crystal display of the phone. A user selects from the menu the name of a Java™ application which is desired to be used. A download request is then made by transmitting a request for Java™ application AP from mobile phone 10 to server 40.

[0061] Server 40 responds to the download request, and the downloading process of the Java™ application performed by mobile phone 10 is initiated (step S2). Specifically, after the application identification information of Java™ application AP and URL of server 40 are notified to mobile phone 10, the body of Java™ application AP is downloaded in a JAR file format.

[0062] Mobile phone 10 writes the application identification information and URL notified by server 40 in the access control table mentioned above (step S3), and writes the data of Java™ application AP in a predetermined memory area of SRAM 123 (step S4). After it is confirmed that all the data is written in SRAM 123, the process shown in figure ends.

[0063] (2) Executing Process of Java™ Application

[0064]FIG. 6 is a flow chart showing an executing process of the Java™ application AP which is executed by Java™ virtual machine KVM of mobile phone 10.

[0065] When it is instructed by a user operation to activate a desired Java™ application, Java™ application AP is activated on Java™ virtual machine KVM shown in FIG. 3 in response to the instruction, and the process is performed according to a process-performing unit called a “class”.

[0066] The operations shown in FIG. 6 are performed in the unit class. In the figure, a determination is first made as to whether a class to be executed is a process requiring access to a resource on the network. (step S11).

[0067] In the case that the class does not require network access (step S11; No), Java™ virtual machine KVM performs the process corresponding to the class (step S12), and the process shown in the figure ends.

[0068] On the other hand, when the class requires network access (step S11; Yes), Java™ virtual machine KVM compares the host name of the resource to be accessed, and a scheme and a destination port number used for the access with a host name, a scheme, and a port number (transmission port number) (step S13) stored in the access control table in correspondence with the application identification information of the executed Java™ application AP. Specifically, the two host names and schemes, and the destination port number and the port number (transmission port number) are compared with each other.

[0069] As a result, when all of the compared items agree with each other (step S14; Yes), Java™ virtual machine KVM permits the network access, and an accessing process by the Java™ application starts (step S15).

[0070] On the other hand, when at least one of the compared items does not agree (step S14; No), Java™ virtual machine KVM displays a message on the liquid crystal display that the network access is not permitted (step S16), and the process shown in the figure ends.

[0071] In this way, when downloading Java™ application AP from server 40 to mobile phone 10, a scheme and a transmission port number used by server 40 in addition to its host name are stored, and when Java™ application AP accesses a resource on the network, the host name, scheme, and destination port number of a resource to be accessed are compared with the stored host name, scheme, and transmission port number, and the access is permitted only when all of them agree with each other.

[0072] In summary, it becomes possible to ensure security by limiting a resource to be accessed in a stricter manner.

[0073] C: Modifications

[0074] As mentioned, the present invention is not limited to the above embodiment, and various changes are possible such as are outlined in the following.

[0075] (1) Mode of Mobile Phone 10

[0076] In the embodiment described above, a mobile phone is used as a client terminal but is not limited thereto. Other mobile communications terminals are possible such as Personal Digital Assistants (PDA) with a wireless communication function.

[0077] Further, the invention is not limited to a mobile communications terminal and may be a fixed terminal such as a personal computer hard-wired to the Internet 30.

[0078] (2) Mode of Server 40

[0079] In the embodiment described above, server 40 is provided in the Internet 30, but the present invention is not limited thereto. For example, server 40 may also be provided in mobile packet network 20.

[0080] (3) Mode of Programming Languages

[0081] Java™ is used in the embodiment described above, but it would be obvious that other programming languages may be used.

[0082] (4) An embodiment of the present invention includes a mode of distributing, through telecommunication lines, programs for causing a computer to implement the access control method disclosed in the embodiment mentioned above as well as a mode of distributing such a program product, with the program recorded in a computer-readable recording medium. 

1. An access control method for controlling access to a network from software, comprising: a step of storing, when a client downloads software from a resource on a network, a scheme and a transmission port number used by said resource in addition to a host name of said resource; a step of comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and a step of permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison.
 2. An access control method as set forth in claim 1, wherein said software is a Java™ application that is described in a Java™ programming language and is executed in cooperation with software preinstalled in said client.
 3. A computer program product for causing a computer to implement an access control method for controlling access to a network, said computer program product comprising: a computer readable program means for causing a computer to execute a process of storing, when a client downloads software from a resource on a network, a scheme and a transmission port number used by said resource in addition to a host name of said resource; a computer readable program means for causing a computer to execute a process of comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and a computer readable program means for causing a computer to execute a process of permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison.
 4. A computer-readable recording medium which has recorded a program for causing a computer to implement an access control method for controlling access to a network from software, said program comprising: a computer readable program means for causing a computer to execute a process of storing, when a client downloads software from a resource on a network, a scheme and a transmission port number used by said resource in addition to a host name of said resource; a computer readable program means for causing a computer to execute a process of comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and a computer readable program means for causing a computer to execute a process of permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison.
 5. An access control device for controlling access to a network from software, comprising: memory storage means for storing, when a client downloads software from a resource on a network, a scheme and a transmission port number used by said resource in addition to a host name of said resource; comparing means for comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and controlling means for permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison.
 6. A mobile communications terminal served by a mobile communications network, said mobile communications terminal performing data communications through the network, comprising: downloading means for downloading software from a given resource through said mobile communications network; memory storage means for storing a scheme and a transmission port number used when downloading said software in addition to a host name of said resource; comparing means for comparing, when accessing a resource on a network by executing said downloaded software, a host name of a resource to be accessed, and a scheme and a destination port number used for said access, with said stored host name, scheme, and transmission port number; and controlling means for permitting said access when the compared items agree with each other, while not permitting said access when the compared items do not agree with each other as a result of the comparison. 